Materi ini diproduksi oleh tim dari Algoritma untuk Memperkenalkan data geospasial untuk keperluan visualisasi tidak hanya 2D melainkan 3D. Materi berikut hanya ditujukan untuk kalangan terbatas, meliputi individu/personal yang menerima materi ini secara langsung dari lembaga pelatihan. Materi ini dilarang untuk direproduksi, didistribusikan, diterjemahkan, atau diadaptasikan dalam bentuk apapun di luar izin dari individu dan organisasi yang berkepentingan.
Algoritma adalah pusat pendidikan Data Science di Jakarta. Kami mengadakan workshop dan program pelatihan untuk membantu para profesional dan pelajar untuk mendapatkan keahlian dalam berbagai bidang dalam ruang lingkup Data Science: data visualization, machine learning, data modeling, statistical inference, dan lain-lainnya.
Sebelum masuk ke dalam materi dan menjalankan kode-kode di dalam materi ini, silakan anda melihat bagian Library/Packages Preparation untuk melihat dan memastikan semua persyaratan dasar untuk mengikuti materi ini sudah terpenuhi termasuk package-package yang diperlukan. Pada bagian Tujuan Pembelajaran anda dapat melihat secara umum apa saja yang akan dipelajari dalam modul materi ini. Kami harap materi ini akan bermanfaat bagi karir ataupun menambah keahlian peserta.
Dalam era digital dan informasi yang terus berkembang, data geospasial menjadi sangat penting dalam berbagai bidang seperti pemetaan, pemodelan lingkungan, analisis berbasis lokasi, pengambilan keputusan bisnis, dan pemantauan geografis. Penggunaan data geospasial yang efektif membutuhkan keterampilan analisis dan visualisasi yang kuat, serta pemahaman tentang bahasa pemrograman yang dapat memanipulasi dan memproses data geospasial dengan efisien. Pelatihan Geospasial Visualisasi menggunakan bahasa pemrograman R ini dirancang untuk memperkenalkan peserta dengan alat-alat dan teknik yang diperlukan untuk menganalisis dan memvisualisasikan data geospasial menggunakan bahasa pemrograman R. R merupakan bahasa pemrograman yang populer di kalangan ilmuwan data dan analis statistik, dan telah menjadi salah satu pilihan lain dalam analisis dan visualisasi data geospasial selain menggunakan tools khusus pengolahan data GIS.
Dalam pelatihan ini, peserta akan belajar tentang dasar-dasar
pemrograman R, termasuk struktur data, fungsi, dan manipulasi data.
Peserta akan diperkenalkan dengan library-library R yang berguna untuk
memanipulasi dan memproses data geospasial, seperti sf,
terra, sp, leaflet, hingga
library untuk visualisasi 3D yakni rayshader. Peserta akan
mempelajari bagaimana mengimpor data geospasial dari berbagai format
seperti shapefile, raster, dan data spasial lainnya, serta melakukan
manipulasi dan transformasi data geospasial menggunakan R.
Selain itu, peserta akan dilibatkan dalam pembelajaran mengenai visualisasi data geospasial menggunakan grafik, peta, dan animasi dalam bahasa R. Peserta pelatihan akan mendapatkan pemahaman yang solid tentang analisis dan visualisasi data geospasial menggunakan bahasa pemrograman R. Mereka akan dapat mengaplikasikan keterampilan yang diperoleh dalam berbagai proyek yang melibatkan data geospasial, baik itu dalam akademik, penelitian, maupun lingkungan bisnis. Karena, untuk memahami apa yang akan divisualisasikan perlu adanya pemahaman dasar mengenai dasar-dasar geospasial agar tidak terjadi salah representasi.Sehigga, dengan menguasai keterampilan analisis dan visualisasi geospasial menggunakan bahasa pemrograman R, peserta pelatihan akan memiliki keunggulan kompetitif dalam memahami dan memanfaatkan data geospasial untuk pengambilan keputusan yang lebih baik, pemodelan yang lebih akurat, dan pemecahan masalah yang lebih efektif dalam konteks geografis.
Terdapat banyak alat yang tersedia untuk memvisualisasikan informasi geografis; mulai dari aplikasi GIS (Sistem Informasi Geografis) penuh seperti ArcGIS dan QGIS, hingga alat berbasis web seperti Google Maps hingga berbagai bahasa pemrograman. Dengan beragam paket yang tersedia, penggunaan R untuk analisis geospasial semakin populer. Mulai dari statistik geospasial, pemodelan, dan visualisasi, IDE RStudio juga membuat R menjadi alat yang ramah pengguna untuk pembuatan peta dan analisis.
Tujuan utama dari workshop ini adalah untuk memberikan pengenalan yang komprehensif mengenai tools dan perangkat lunak yang digunakan untuk menganalisa dan melakukan visualisasi data geospatial dengan sebuah aplikasi open-source populer: R. Selain menggunakan tools khusus GIS yang mana perlu pemahaman dari segi aplikasi yang digunakan serta fungsi dari tools-tools yang digunakan. Adapun materi ini akan mencakup:
Introductory Module:
dplyrggplot2Main Module: - Introduction to Geospatial
Data - Data Spasial:
- Data Vektor -> Introduction to Manipulation Data - Data Raster
-> Introduction to Manipulation Data - Representasi sederhana
Untuk dapat mengikuti materi ini, peserta diharapkan sudah menginstall beberapa packages di bawah ini. Apabila package tersebut belum terinstall, silahkan jalankan chunk atau baris kode berikut. Apabila sudah ter-install, lewati chunk berikut dan muat package yang dibutuhkan dengan menjalankan chunk selanjutnya.
## DO NOT RUN CHUNK
# packages <- c("readr", "readxl", "stringr","dplyr", "rgdal","sf", "maps", "leaflet", "raster", "osmdata", "ggplot2", "terra")
# install.packages(packages)# Data Cleaning
library(readxl) # untuk membaca data excel
library(readr) # untuk membaca data
library(stringr) # untuk persiapan data text
library(dplyr) # untuk data manipulation
# Data Visualization
library(leaflet) # untuk visualisasi interaktif peta
library(ggplot2) # untuk visualisasi plot grafik
# Data Geospatial
library(raster) # untuk read data raster
library(osmdata) # untuk mendapatkan data polygon dari open street map
library(sf) # untuk manipulasi dan analisis data spasial
library(sp) # untuk manipulasi dan analisis data spasial
library(rgdal) # untuk membaca dan menulis data geospatial dalam format yang berbeda (shp)
library(terra) # untuk analisis data spasial dan raster yang lebih kompleks
library(maps) # untuk membuat peta dasar dalam berbagai proyek visualisasi geografis
# Day 3 (Data Visualization)
# library(rayshader) # untuk visualisasi data spatial 3DMateri utama yang akan kita kerjakan yakni mengenai Geospatial Data Visualization. Kita akan mengeksplor bagaimana caranya menggunakan data spatial di R untuk membuat sebuat output yang populer seperti peta baik itu statik maupun interaktif hingga pembuatan peta 3 Dimensi.
Sebelum berangkat lebih jauh dalam membuat visualisasi berupa peta dengan data spasial, kita perlu memahami : 1. Dasar-Dasar GIS (Sistem Informasi Geografis): data geospasial, koordinat, struktur data 2. Leaflet: memahami apa itu leaflet, kegunaan, hingga cara implementasi 3. Mempersiapkan data Geospatial sebelum digunakan: memahami format-format
Analisis Geospasial dan pemetaan adalah bidang yang berkembang pesat.
Dalam tahap ini, kita akan mempelajari tentang Leaflet,
sebuah pustaka JavaScript untuk membuat peta interaktif, dan bagaimana
menggunakannya di R sebelum kita membuat peta yang lebih bagus
menggunakan data asli spatial topografi. Data
Spatial
Data geospasial adalah bentuk data yang sangat penting dalam ilmu geografi, ilmu lingkungan, pemetaan, dan banyak bidang lainnya. Data geospasial memungkinkan kita untuk merepresentasikan dan menganalisis dunia nyata dengan cara yang lebih terstruktur. Dalam pemrosesan data geospasial, kita dapat memanfaatkan dua jenis utama data: data vektor dan data raster.
Data geospasial memberikan wawasan yang penting dalam pemahaman dunia kita, dan kemampuan untuk menggabungkan lokasi, atribut, dan informasi temporal membuatnya sangat berharga dalam pemodelan, analisis, dan pengambilan keputusan.
Library terra adalah alat yang kuat untuk bekerja dengan
data geospasial, membantu kita menjelajahi dan memahami dunia dengan
lebih baik. Library terra juga sangat berguna untuk
mengolah data raster. Ini memungkinkan kita untuk memanipulasi data
raster, menerapkan analisis spasial, dan membuat visualisasi berbasis
raster.
Data Vektor: Data vektor adalah jenis data geospasial yang merepresentasikan objek sebagai titik, garis, atau poligon. Data vektor terdiri dari tiga komponen utama:
Lokasi (Geometri): Ini adalah informasi tentang di mana objek atau fitur tersebut berada di permukaan bumi, seperti koordinat geografis (lintang dan bujur).
Atribut: Atribut adalah informasi tentang karakteristik objek tersebut, misalnya nama, jenis, ukuran, dan sebagainya.
Temporal: Beberapa data vektor juga dapat mencakup informasi waktu, seperti kapan objek tersebut dibuat atau berubah.
Geometri titik terdiri dari satu titik sudut (X, Y dan opsional Z).
# Run Code Below:
# Koordinat titik stasiun
lon <- c(-116.8, -114.2, -112.9, -111.9, -114.2, -115.4, -117.7)
lat <- c(41.3, 42.9, 42.4, 39.8, 37.6, 38.3, 37.6)
# Data stasiun dalam bentuk matriks
stasiun_crh <- cbind(lon, lat)
stasiun_crh#> lon lat
#> [1,] -116.8 41.3
#> [2,] -114.2 42.9
#> [3,] -112.9 42.4
#> [4,] -111.9 39.8
#> [5,] -114.2 37.6
#> [6,] -115.4 38.3
#> [7,] -117.7 37.6
Kesalahan umum: Jangan sampai salah penempatan antara
longitude(bujur) danlatitude(lintang). Karena, penempatan yang salah ini dapat mengakibatkan interpretasi yang salah terhadap data geografis Anda.
Pada umumnya, dalam representasi geografis, latitude
(lintang) digunakan untuk mengukur posisi relatif utara-selatan di bola
bumi, sementara longitude (bujur) digunakan untuk mengukur
posisi relatif timur-barat. Dalam sebagian besar peta, sumbu vertikal
atau garis meridian (garis vertikal yang menghubungkan Kutub Utara dan
Kutub Selatan) biasanya digunakan untuk menggambarkan
latitude, sementara sumbu horizontal atau garis ekuator
(garis horizontal yang mengelilingi bola bumi secara horizontal)
digunakan untuk menggambarkan longitude.
Kita bisa menggunakan fungsi plot() untuk menampilkan
tampilan data vektor tersebut secara langsung.
# Tampilan alas peta agar lebih rapih
plot(stasiun_crh,
main = "Peta Stasiun Curah Hujan",
xlab = "Longitude",
ylab = "Latitude")# Plot alas peta
plot(stasiun_crh,
main = "Peta Stasiun Curah Hujan",
xlab = "Longitude",
ylab = "Latitude")
# Menambahkan titik pada koordinat stasiun
points(stasiun_crh,
cex = 1, # kode bentuk poin
pch = 18,
col = "black")Untuk menampilkan garis, secara mudah kita hanya perlu titik-titik koordinat. Geometri poliline terdiri dari dua atau lebih simpul yang membentuk garis saling terhubung.
# Plot peta
plot(stasiun_crh,
main = 'Peta Stasiun Curah Hujan',
xlab = 'Longitude',
ylab = 'Latitude')
# Menambahkan polyline dengan warna yang lebih menarik dan lebih tebal
lines(stasiun_crh,
col = "orange",
lwd = 3 )Geometri poligon terdiri dari setidaknya empat simpul yang membentuk suatu area tertutup. Simpul pertama dan terakhir selalu berada pada tempat yang sama.
# Plot peta
plot(stasiun_crh,
main = 'Peta Stasiun Curah Hujan',
xlab = 'Longitude',
ylab = 'Latitude')
# Menambahkan polygon sebagai latar belakang dengan warna yang lebih menarik
polygon(stasiun_crh,
col = '#FFA07A',
border = '#FF6347')# Plot peta Secara keseluruhan data vektor: titik, garis, area/poligon
plot(stasiun_crh,
main = 'Peta Stasiun Curah Hujan',
xlab = 'Longitude',
ylab = 'Latitude')
# Menambahkan polygon sebagai latar belakang dengan warna yang lebih menarik
polygon(stasiun_crh, col ='#FFA07A', border ='#FF6347')
# Menambahkan polyline dengan warna yang lebih menarik dan lebih tebal
lines(stasiun_crh, col = 'darkred', lwd = 3)
# Menambahkan titik pada koordinat stasiun dengan warna oranye tua
points(stasiun_crh, cex = 2, pch = 20, col = 'black')
# Menambahkan label pada titik stasiun dengan warna biru
text(stasiun_crh, labels = 1:7, pos = 3, offset = 0.5, col = 'blue', cex = 0.8)Note: urutan data yang ditampilkan pada plot menggunakan
library terradiatas tidak seperti layering ggplot. Namun, data yang mau ditampilkan paling atas justru ditaruh pada kode paling akhir.
Dalam kode di atas, kita menggunakan fungsi text()
sebagai tambahan untuk menambahkan label nama kota ke dalam plot. Fungsi
text() memerlukan tiga argumen utama:
x: Objek vektor geospasial yang akan digunakan
sebagai referensi untuk menempatkan teks (dalam hal ini,
stasiun_crh).
labels: Vektor yang berisi label atau nama yang
ingin Anda tambahkan ke plot (dalam hal ini,
1 sampai 7).
pos: Posisi teks relatif terhadap titik referensi.
Di sini, pos = 3 berarti teks akan ditempatkan di atas
titik referensi.
Dengan menggunakan fungsi text(), kita dapat
menambahkan label nama kota ke plot objek vektor geospasial
kita.
#> [1] NA
#> [1] "matrix" "array"
Data Vector: Dilengkapi dengan representasi geometris titik, garis, poligon, dan multi-polihibrid. Berikut ini merupakan representasi sederhana dari data spasial berbentuk vektor.
Bagaimana cara merepresentasikan data diatas jika menambahkan atribut lain.
## Run code below
# Data stasiun dalam bentuk matriks (titik koordinat dari yang sebelumnya)
stasiun_crh#> lon lat
#> [1,] -116.8 41.3
#> [2,] -114.2 42.9
#> [3,] -112.9 42.4
#> [4,] -111.9 39.8
#> [5,] -114.2 37.6
#> [6,] -115.4 38.3
#> [7,] -117.7 37.6
# Nama stasiun dari 1:7
nama <- LETTERS[1:7]
# Simulasi data curah hujan (dummy data sebagai atribut)
precip <- c(200, 100, 320, 978, 153, 903, 303)
# Kolom precip (curah hujan)
crh <- cbind(stasiun_crh, nama, precip)
crh#> lon lat nama precip
#> [1,] "-116.8" "41.3" "A" "200"
#> [2,] "-114.2" "42.9" "B" "100"
#> [3,] "-112.9" "42.4" "C" "320"
#> [4,] "-111.9" "39.8" "D" "978"
#> [5,] "-114.2" "37.6" "E" "153"
#> [6,] "-115.4" "38.3" "F" "903"
#> [7,] "-117.7" "37.6" "G" "303"
Jadi, secara keseluruhan, kode tersebut menghasilkan vektor
precip yang berisi data curah hujan simulasi dengan
angka-angka acak yang telah diolah agar memiliki sifat yang mirip dengan
data curah hujan (dummy data).
Peta lokasi titik-titik tidak berbeda jauh dari plot dasar pada
umumnya (x,y). Namun, pada kasus ini titik-titik tersebut sebanding
dengan nilai jumlah curah hujan yang dimiliki (pada data
precip).
## Run Code Below:
# Ukuran titik berdasarkan curah hujan (lebih besar curah hujan, lebih besar titiknya)
psize <- 1 + precip/100
# Plot peta dengan warna yang lebih menarik
plot(crh,
cex = psize, # ukuran
col = "darkblue" , # warna titik (jika tidak pakai pch maka hanya border saja)
pch = 20, # Jenis titik
main = 'Peta Lokasi Curah Hujan berdasarkan Jumlah Curah Hujannya') # Judul
# Menambahkan nama stasiun pada plot
text(stasiun_crh, nama, pos = 3, col = 'orange')
# Membuat legenda
breaks <- c(100, 250, 500, 1000)
legend.psize <- 1 + breaks / 500
legend(
"topright",
legend = breaks,
pch = 20,
pt.cex = legend.psize,
col = 'darkblue',
bg = 'white'
)Note:
Tidak ada kode khusus yang harus Anda gunakan untuk menentukan
psize (ukuran titik) berdasarkan nilai precip (curah
hujan).
Cara Anda menghitung psize dalam kode yang Anda bagikan,
yaitu psize <- 1 + precip/200, adalah cara yang umum
digunakan untuk menyesuaikan ukuran titik berdasarkan data numerik.
Di dalam rumus tersebut: - 1 adalah ukuran dasar
titik.
precip adalah nilai curah hujan.
200 adalah faktor yang mengontrol seberapa besar
perbedaan ukuran titik berdasarkan nilai curah hujan. Semakin besar
faktor ini, semakin besar perbedaan ukuran titik.
Kita dapat mengubah rumus ini sesuai dengan preferensi. Misalnya,
jika ingin membuat perbedaan ukuran yang lebih besar, kita dapat
meningkatkan faktor pembagi (misalnya, 1000), dan
sebaliknya.
Contoh lain:
psize <- 1 + precip/1000 akan menghasilkan titik
yang lebih kecil untuk curah hujan yang lebih tinggi.
psize <- 1 + sqrt(precip)/10 akan menghasilkan
titik yang lebih besar untuk curah hujan yang lebih tinggi dengan
menggunakan akar kuadrat.
Anda dapat menyesuaikan rumus diatas sesuai dengan preferensi untuk menentukan ukuran titik berdasarkan data curah hujan.
Data Raster: Data raster adalah sel berpiksel atau berkisi yang direpresentasikan sebagai baris dan kolom. Ini adalah data berpiksel (atau berkisi) yang setiap pikselnya dikaitkan dengan lokasi geografis tertentu. Raster geospasial hanya berbeda dengan foto digital karena disertai dengan informasi spasial yang menghubungkan data ke lokasi tertentu. Raster adalah foto udara digital, citra dari satelit, gambar digital.
Ini adalah situs web untuk memahami dengan contoh bagaimana data raster adalah data geospasial
Kumpulan data raster berpotensi sangat besar. Resolusi meningkat seiring dengan mengecilnya ukuran sel; namun, biasanya biaya juga meningkat baik pada ruang disk maupun kecepatan pemrosesan.
Data raster adalah salah satu jenis data geospasial yang sangat penting. Ini adalah representasi dari permukaan yang dibagi menjadi sel berpiksel atau berkisi, dengan setiap piksel memiliki nilai yang mewakili atribut atau fenomena di lokasi geografis tertentu. Berikut ini penjelasan tentang contoh kode dan materi yang Anda bagikan:
rast
dari library terra untuk membuat objek data raster.ncol dan nrow adalah argumen yang
menentukan jumlah kolom dan baris pada data raster.xmin, xmax, ymin, dan
ymax digunakan untuk menentukan batas-batas geografis data
raster.#> class : SpatRaster
#> dimensions : 5, 5, 1 (nrow, ncol, nlyr)
#> resolution : 14, 8 (x, y)
#> extent : -150, -80, 20, 60 (xmin, xmax, ymin, ymax)
#> coord. ref. : lon/lat WGS 84 (CRS84) (OGC:CRS84)
rast() -> untuk mengubah nilai-nilai piksel diatas menjadi sebuah nilai piksel untuk membentuk data raster
values untuk memberikan nilai pada piksel-piksel di
dalamnya.runif.# Memberikan nilai pada piksel value
set.seed(99)
values(r) <- runif(ncell(r))
values(r) <- 1:ncell(r)plot untuk memvisualisasikan
data raster.col. Dalam contoh ini, kita akan menggunakan palet
warna terrain.colors(25).
Hasil dari kode ini adalah data raster yang berisi piksel-piksel dengan
nilai-nilai yang telah kita tentukan, dan visualisasi yang menunjukkan
representasi grafis dari data tersebut dengan palet warna yang
sesuai.
Data raster sangat berguna dalam berbagai aplikasi, seperti pemetaan cuaca, penginderaan jauh, pemodelan lingkungan, dan banyak lagi. Mereka memungkinkan kita untuk menganalisis fenomena yang berubah-ubah di seluruh permukaan bumi dengan tingkat detail yang beragam, tergantung pada resolusi raster.
Sistem Referensi Koordinat (CRS) yang mendefinisikan bagaimana elemen spasial data berhubungan dengan permukaan bumi (atau benda lain). Ini seperti kita memadatkan permukaan bumi yang bulat menjadi peta yang datar.
Pentingnya CRS dalam data geospasial adalah agar kita bisa:
Mengukur dengan Tepat: Jika kita ingin mengukur jarak atau luas di peta, kita harus tahu bagaimana skala pengukuran ini diubah dari bentuk asli bumi yang bulat.
Pemetaan: CRS membantu kita menggambarkan peta dengan benar, karena setiap peta mungkin memiliki caranya sendiri untuk merubah permukaan bumi.
Integrasi Data: Ketika kita menggabungkan data dari berbagai sumber, semua data ini harus menggunakan CRS yang sama agar bisa digunakan bersama.
Georeferensi: Ini berarti mengaitkan koordinat dunia nyata dengan lokasi di peta, yang hanya bisa dilakukan jika kita tahu CRS yang digunakan.
Komponen Penting: Sebuah CRS umumnya terdiri dari
beberapa komponen penting: 1. Metode Proyeksi: Ini
menentukan metode matematika yang digunakan untuk mengubah permukaan
Bumi menjadi datar. Proyeksi umum meliputi Mercator, Lambert Conformal
Conic, dan Albers Equal Area.
Datum: Sebuah datum menentukan titik referensi dan orientasi sistem koordinat. Datum yang berbeda digunakan untuk berbagai bagian dunia.
Satuan: Ini menentukan satuan pengukuran yang digunakan untuk jarak, seperti meter, kaki, derajat, atau satuan lainnya.
Titik Asal: Beberapa proyeksi memiliki titik tertentu di permukaan Bumi sebagai titik asal mereka.
Garis Bujur Pusat: Ini sering digunakan dalam proyeksi untuk menentukan garis bujur pusat peta.
Semua komponen ini bekerja bersama-sama untuk menggambarkan lokasi dan bentuk objek di dunia nyata ke dalam sistem koordinat yang bisa digunakan dalam analisis dan pembuatan peta.
Jadi, kesimpulannya, CRS adalah cara kita membuat peta yang akurat dan melakukan berbagai analisis berdasarkan lokasi. Yang penting, kita harus memilih CRS yang sesuai untuk setiap proyek berdasarkan kebutuhan dan daerah yang akan dipetakan.
Dalam peta, biasanya kita menggunakan sistem koordinat geografis yang
terdiri dari garis bujur (longitude) dan garis
lintang (latitude) untuk menunjukkan lokasi suatu tempat di
permukaan bumi. Namun, dalam konteks sistem koordinat X-Y, kita
menggantinya dengan sumbu X dan Y untuk menyatakan lokasi.
Contoh: - Jika Anda memiliki koordinat X = 45 dan Y = -30, itu akan menunjukkan suatu lokasi di sebelah timur garis bujur 45° dan di selatan garis lintang 30°. - Jika Anda memiliki koordinat X = -75 dan Y = 10, itu akan menunjukkan suatu lokasi di sebelah barat garis bujur 75° dan di utara garis lintang 10°.
Penting untuk dicatat bahwa sistem koordinat X-Y ini hanya digunakan dalam konteks peta yang sudah diberikan dengan proyeksi tertentu, dan penggunaannya lebih umum dalam pemetaan dan ilmu geospasial. Dalam pemetaan dunia nyata, koordinat geografis (garis bujur dan garis lintang) masih lebih umum digunakan.
Sistem koordinat geografis mengidentifikasi lokasi mana pun di permukaan bumi menggunakan dua nilai — garis bujur dan garis lintang. Bujur adalah letaknya yang berarah Timur-Barat pada jarak sudut dari bidang Meridian Utama. Lintang adalah jarak sudut Utara atau Selatan bidang ekuator. Oleh karena itu, jarak dalam CRS geografis tidak diukur dalam meter.
Permukaan bumi dalam sistem koordinat geografis diwakili oleh permukaan bola atau ellipsoidal. Ellipsoid adalah bagian dari komponen CRS yang lebih luas: datum . Ini berisi informasi tentang ellipsoid apa yang digunakan dan hubungan yang tepat antara koordinat Cartesian dan lokasi di permukaan bumi. Ada dua jenis datum — geosentris (misalnya WGS84) dan lokal (misalnya NAD83).
Source:DataCarpentry
Sistem proyeksi adalah cara yang lebih praktis untuk melakukan perhitungan dan sangat penting untuk membuat peta. Sistem referensi ini disebut “proyeksi” karena mengubah koordinat sudut 3D menjadi sistem datar (planar). Beberapa contoh proyeksi yang umum digunakan adalah UTM, Mercator, dan lainnya.
Ada tiga kelompok utama jenis proyeksi - berbentuk kerucut, silindris, dan planar (azimut). Dalam proyeksi kerucut, permukaan bumi diproyeksikan ke dalam kerucut sepanjang satu garis singgung atau dua garis singgung.
Data titik koordinat curah hujan x dan y diatas tadi masih belum
memiliki koordinat referensi karena masih dalam format matrix, sehingga
perlu kita define masih menggunakna library terra. Dalam
kasus ini, Kita telah menggunakan proyeksi
+proj=longlat +datum=WGS84 untuk mendefinisikan koordinat
referensi sebagai koordinat geografis WGS84, yang sangat umum
digunakan.
Ini adalah langkah-langkah yang diperlukan untuk memberikan koordinat
referensi ke objek data vektor geospasial di paket terra.
Dengan koordinat referensi yang sudah ditentukan, Kita dapat melakukan
analisis geospasial yang lebih akurat dan visualisasi yang tepat pada
peta.
# Definisi koordinat referensi
coor_ref <- "+proj=longlat +datum=WGS84"
# Buat objek data vektor
titik_crh <- vect(stasiun_crh, crs = coor_ref)
# Menampilkan objek vektor dengan atribut curah hujan
crs(titik_crh)#> [1] "GEOGCRS[\"unknown\",\n DATUM[\"World Geodetic System 1984\",\n ELLIPSOID[\"WGS 84\",6378137,298.257223563,\n LENGTHUNIT[\"metre\",1]],\n ID[\"EPSG\",6326]],\n PRIMEM[\"Greenwich\",0,\n ANGLEUNIT[\"degree\",0.0174532925199433],\n ID[\"EPSG\",8901]],\n CS[ellipsoidal,2],\n AXIS[\"longitude\",east,\n ORDER[1],\n ANGLEUNIT[\"degree\",0.0174532925199433,\n ID[\"EPSG\",9122]]],\n AXIS[\"latitude\",north,\n ORDER[2],\n ANGLEUNIT[\"degree\",0.0174532925199433,\n ID[\"EPSG\",9122]]]]"
#> [1] "matrix" "array"
#> [1] "SpatVector"
#> attr(,"package")
#> [1] "terra"
Berikut adalah penjelasan singkat tentang langkah-langkah diatas:
Mendefinisikan koordinat referensi dengan menggunakan string
"+proj=longlat +datum=WGS84", yang mendefinisikan proyeksi
geografis dan datum sebagai WGS84.
Membuat objek data vektor geospasial titik_crh dari
koordinat stasiun_crh dengan menentukan crs
(koordinat referensi) yang telah Anda definisikan sebelumnya yakni
coor_ref.
Kemudian, memeriksa objek data vektor geospasial
titik_crh untuk memastikan bahwa koordinat referensinya
telah ditambahkan dengan benar.
Shapefile: Format file vektor yang sangat umum
digunakan dalam pemetaan dan sistem informasi geografis (SIG).GeoJSON: Format file vektor berbasis JSON yang populer
untuk pertukaran data geospasial.Raster: Representasi data dalam bentuk kisi piksel,
seperti citra satelit atau peta tematik.KML: Format file yang digunakan untuk pertukaran data
geospasial dan digunakan dalam Google Earth.TopoJSON: Format file yang mengurangi ukuran data
geospasial untuk pengiriman dan pengolahan yang lebih efisien.shapefileAda banyak format data yang dapat digunakan untuk menyimpan data spasial. KML, GeoJSON, GeoTIFF, Tab File, adalah beberapa format umum yang mungkin pernah Anda temui. Namun, format yang paling umum digunakan dalam pemetaan sistem informasi geografis adalah Shapefile.
Shapefile adalah standar universal format geospasial yang dikembangkan dan diatur oleh Esri, penyedia perangkat lunak sistem informasi geografis internasional. Format ini kemudian diadopsi oleh banyak bahasa pemrograman, termasuk R.
Nama Shapefile mungkin sedikit menyesatkan karena file ini umumnya terdiri dari beberapa file terpisah:
.shp (wajib): berisi data
geometri..shx (wajib): berisi data indeks yang
digunakan untuk mengidentifikasi geometri yang berbeda..dbf (wajib): berisi informasi atribut
(tabel dengan info lebih lanjut tentang setiap fitur)..prj berisi informasi tentang sistem koordinat
referensi.Selain file yang tercantum di atas, sebuah shapefile dapat mencakup komponen file lainnya. Daftar komponen shapefile yang komprehensif dapat diakses di sini.
shapefile (inageoportal)Untuk kasus ini, saya telah menyediakan shapefile untuk mengakses dan mendownload data SHAPEFILE (shp) dari portal Tanah Air Indonesia. Langkah unduh bisa dilihat pada: Slide Share
Mari baca file menggunakan fungsi st_read() dari paket
sf:
#> Reading layer `kec_bantul' from data source
#> `G:\.shortcut-targets-by-id\1FTbbgwnziVLbh9FmdLQKPpBRj8YZM3S8W_1ZFLHbD_Q_7wplA14rvafhLAsLZ7P7GWJebjlB\DSS Geospatial Data Visualization with Rayshader In R Data Science Series\dataset\Kec_Bantul\kec_bantul.shp'
#> using driver `ESRI Shapefile'
#> Simple feature collection with 17 features and 5 fields
#> Geometry type: POLYGON
#> Dimension: XY
#> Bounding box: xmin: 110.2045 ymin: -8.028906 xmax: 110.5213 ymax: -7.76771
#> Geodetic CRS: WGS 84
Ada beberapa informasi yang disimpan dalam geometri
sf:
POINT,
LINESTRING, POLYGON, MULTIPOINT,
MULTILINESTRING, MULTIPOLYGON dan
GEOMETRYCOLLECTION.XY), 3-(XYZ/XYM) atau 4
dimensi (XYZM).sf merupakan singkatan dari “Simple Features” yang
merepresentasikan data sebagai catatan dalam sebuah data.frame atau
tibble dengan sebuah kolom list geometri1. Simple
Features adalah model data hierarkis yang mewakili berbagai
jenis geometri. Dari 17 jenis geometri yang didukung oleh spesifikasi,
hanya 7 yang digunakan dalam sebagian besar penelitian geografis:
Source:Geocomputation with R
Jika kita menggunakan fungsi class() untuk objek
adm_bantul yang baru dibuat, kita dapat melihat bagaimana
kelas sf mengelola data spasial dengan cara yang mirip
dengan struktur data tabel biasa; dengan menyimpannya sebagai data
frame:
#> [1] "sf" "data.frame"
Perbedaan utama antara sebuah data frame biasa dengan sebuah objek
sf adalah bahwa objek sf memiliki kolom
geometry yang menjelaskan di mana fitur tersebut terletak
di Bumi, dan mereka memiliki atribut, yang menjelaskan properti
lainnya:
POLYGON:
Untuk mendapatkan gambaran yang lebih baik tentang informasi
geometry dalam objek sf, mari kita lanjutkan
dan plot adm_bantul$geometry menggunakan fungsi
plot():
shapefile (GADMTools)Data spasial vector untuk Indonesia selain bisa didapatkan melalui inageoportal, kita bisa menggunakan library GADMTools dimana GADM sudah menyediakan data spasial vektor dalam 4 level ketelitian, namun pada course ini kita akan coba lihat dalam 3 level:
Tip Ekstra:
Anda juga dapat mengakses basis data GADM langsung dari R dengan bantuan
pustaka GADMTools:
# Install requirement packages for packages GADMTools
# install.packages(c('maptools', 'rosm', 'rgeos', 'ggmap', 'ggspatial', 'prettymapr'))
# Install Packages GADMTools
# install.packages("https://cran.r-project.org/src/contrib/Archive/GADMTools/GADMTools_3.9-1.tar.gz", repos = NULL, type = "source")Pada bagian code dibawah ini, tidak perlu menjalankan read object
map dikarenakan isi darinya sudah kami unduh dan sedikit
filter berdasarkan level 2 saja pada folder shp.
# Code example to load Indonesia's spatial vector in Kabupaten/Kota level
# library(GADMTools) # jika masih belum ada, silahkan jalanan kode chunck diatas untuk install packagesnya.
# map <- gadm_sf_loadCountries(c("IDN"), level=2, basefile = "./")Mari baca file menggunakan fungsi st_read() dari paket
sf:
#> Reading layer `idn' from data source
#> `G:\.shortcut-targets-by-id\1FTbbgwnziVLbh9FmdLQKPpBRj8YZM3S8W_1ZFLHbD_Q_7wplA14rvafhLAsLZ7P7GWJebjlB\DSS Geospatial Data Visualization with Rayshader In R Data Science Series\shp'
#> using driver `ESRI Shapefile'
#> Simple feature collection with 6694 features and 16 fields
#> Geometry type: MULTIPOLYGON
#> Dimension: XY
#> Bounding box: xmin: 95.0097 ymin: -11.00762 xmax: 141.0194 ymax: 6.076941
#> Geodetic CRS: WGS 84
Cek tipe data/kelas object:
#> [1] "sf" "data.frame"
Cek atribut:
#> Rows: 6,694
#> Columns: 17
#> $ GID_0 <chr> "IDN", "IDN", "IDN", "IDN", "IDN", "IDN", "IDN", "IDN", "IDN…
#> $ NAME_0 <chr> "Indonesia", "Indonesia", "Indonesia", "Indonesia", "Indones…
#> $ GID_1 <chr> "IDN.1_1", "IDN.1_1", "IDN.1_1", "IDN.1_1", "IDN.1_1", "IDN.…
#> $ NAME_1 <chr> "Aceh", "Aceh", "Aceh", "Aceh", "Aceh", "Aceh", "Aceh", "Ace…
#> $ NL_NAME_1 <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ GID_2 <chr> "IDN.1.2_1", "IDN.1.2_1", "IDN.1.2_1", "IDN.1.2_1", "IDN.1.2…
#> $ NAME_2 <chr> "Aceh Barat", "Aceh Barat", "Aceh Barat", "Aceh Barat", "Ace…
#> $ NL_NAME_2 <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ GID_3 <chr> "IDN.1.2.1_1", "IDN.1.2.2_1", "IDN.1.2.3_1", "IDN.1.2.4_1", …
#> $ NAME_3 <chr> "Arongan Lambalek", "Bubon", "Johan Pahlawan", "Kaway Xvi", …
#> $ VARNAME_3 <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ NL_NAME_3 <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ TYPE_3 <chr> "Kecamatan", "Kecamatan", "Kecamatan", "Kecamatan", "Kecamat…
#> $ ENGTYPE_3 <chr> "Sub-district", "Sub-district", "Sub-district", "Sub-distric…
#> $ CC_3 <chr> "1107062", "1107061", "1107050", "1107080", "1107081", "1107…
#> $ HASC_3 <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ geometry <MULTIPOLYGON [°]> MULTIPOLYGON (((95.97953 4...., MULTIPOLYGON ((…
Untuk mendapatkan pemahaman yang lebih baik tentang informasi
geometri dalam objek sf, mari lanjutkan dan gambarkan
idn$geometry menggunakan fungsi plot():
Keuntungan besar penggunaan sf adalah bagaimana setiap
fungsi dapat digabungkan menggunakan operator %>% dan
berfungsi dengan baik dengan koleksi paket R dari tidyverse, yang
memberikan kami kendali yang lebih baik atas informasi geometri dalam
objek sf. Misalnya, untuk mengambil subset provinsi
tertentu, Anda dapat menggunakan metode filter() seperti
yang Anda lakukan dengan data frame biasa:
#> [1] "Aceh" "Bali" "Bangka Belitung"
#> [4] "Banten" "Bengkulu" "Gorontalo"
#> [7] "Jakarta Raya" "Jambi" "Jawa Barat"
#> [10] "Jawa Tengah" "Jawa Timur" "Kalimantan Barat"
#> [13] "Kalimantan Selatan" "Kalimantan Tengah" "Kalimantan Timur"
#> [16] "Kepulauan Riau" "Lampung" "Maluku"
#> [19] "Maluku Utara" "Nusa Tenggara Barat" "Nusa Tenggara Timur"
#> [22] "Papua" "Papua Barat" "Riau"
#> [25] "Sulawesi Barat" "Sulawesi Selatan" "Sulawesi Tengah"
#> [28] "Sulawesi Tenggara" "Sulawesi Utara" "Sumatera Barat"
#> [31] "Sumatera Selatan" "Sumatera Utara" "Yogyakarta"
Melakukan agregrasi data untuk melakukan filtering langsung dari data idn untuk mendapatkan shp dengan area sesuai dengan kebutuhan, mari kita coba untuk mengambil provinsi Bali:
bali_kab <- idn %>%
filter(NAME_1 == "Bali") %>%
group_by(NAME_2) %>%
summarise()
plot(bali_kab$geometry)Dive deeper:
Silahkan untuk coba melakukan pengambilan shp pada daerah Kabupaten Bantul menggunakan library GADM.
# Type Your Code here
bantul_adm <- idn %>%
filter(NAME_2 == "Bantul") %>%
group_by(NAME_3) %>%
summarise()
plot(bantul_adm$geometry)🗺️ Pembuatan Peta Tematik
Secara umum, data spasial dapat direpresentasikan sebagai peta referensi atau peta tematik. Sementara peta referensi menekankan lokasi objek di dunia, peta tematik menunjukkan variabilitas spasial dari distribusi tertentu. Peta distribusi harga rumah yang telah kita buat sebelumnya adalah salah satu jenis peta tematik yang paling sering digunakan dalam data geospasial, yang disebut peta Choropleth.
Menggunakan data shp Kecamatan Bantul
#> Rows: 17
#> Columns: 6
#> $ fid <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
#> $ ogc_fid <dbl> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
#> $ desa <chr> "Tirtohargo", "Argodadi", "Gadingharjo", "Sidomulyo", "Catur…
#> $ kecamatan <chr> "Kretek", "Sedayu", "Sanden", "Bambanglipuro", "Pandak", "Sr…
#> $ kabupaten <chr> "Bantul", "Bantul", "Bantul", "Bantul", "Bantul", "Bantul", …
#> $ geometry <POLYGON [°]> POLYGON ((110.3166 -7.98874..., POLYGON ((110.2767 -7.83451.…
#> [1] "Kretek" "Sedayu" "Sanden" "Bambanglipuro"
#> [5] "Pandak" "Srandakan" "Jetis" "Sewon"
#> [9] "Banguntapan" "Pundong" "Imogiri" "Kasihan"
#> [13] "Bantul" "Pleret" "Piyungan" "Dlingo"
#> [17] "Pajangan"
#> [1] "GEOGCRS[\"WGS 84\",\n DATUM[\"World Geodetic System 1984\",\n ELLIPSOID[\"WGS 84\",6378137,298.257223563,\n LENGTHUNIT[\"metre\",1]]],\n PRIMEM[\"Greenwich\",0,\n ANGLEUNIT[\"degree\",0.0174532925199433]],\n CS[ellipsoidal,2],\n AXIS[\"geodetic latitude (Lat)\",north,\n ORDER[1],\n ANGLEUNIT[\"degree\",0.0174532925199433]],\n AXIS[\"geodetic longitude (Lon)\",east,\n ORDER[2],\n ANGLEUNIT[\"degree\",0.0174532925199433]],\n ID[\"EPSG\",4326]]"
Melakukan penyesuaian koordinat pada object
adm_bantul-> menggunakan st_transform()
Read data kepadatan penduduk Kabupaten Bantul per Kecamatan dalam
bentuk .xls menggunakan read_excel():
# Join csv dengan shp
kpdt_bantul <- adm_bantul %>%
left_join(kpdt_pddk, by = c("kecamatan" = "kecamatan")) %>%
arrange(kecamatan)
glimpse(kpdt_bantul)#> Rows: 17
#> Columns: 7
#> $ fid <int> 4, 9, 13, 16, 11, 7, 12, 1, 17, 5, 15, 14, 10, 3, 2, 8, 6
#> $ ogc_fid <dbl> 4, 9, 13, 16, 11, 7, 12, 1, 17, 5, 15, 14, 10, 3, 2, 8, 6
#> $ desa <chr> "Sidomulyo", "Jambidan", "Palbapang", "Dlingo", "Selopamioro…
#> $ kecamatan <chr> "Bambanglipuro", "Banguntapan", "Bantul", "Dlingo", "Imogiri…
#> $ kabupaten <chr> "Bantul", "Bantul", "Bantul", "Bantul", "Bantul", "Bantul", …
#> $ kpdt_pddk <dbl> 1850.75, 4460.29, 3015.13, 716.48, 1187.06, 2474.83, 3622.21…
#> $ geometry <POLYGON [°]> POLYGON ((110.2846 -7.93789..., POLYGON ((110.4281 -7.84666.…
END OF DAY 2 ___
ggplot2leafletPersiapan visualisasi:
# Mendefinisikan Label Pop-up:
labels <- sprintf("<strong>%s</strong><br/>%g penduduk / km<sup>2</sup>",
kpdt_bantul$kecamatan, kpdt_bantul$kpdt_pddk) %>% lapply(FUN = htmltools::HTML)
# Mendefinisikan Warna:
col <- kpdt_bantul$kpdt_pddk
# kategorisasi variabel kepadatan penduduk kedalam 5 kelompok
bins <- c(getJenksBreaks(kpdt_bantul$kpdt_pddk, k = 5))
# melakukan pewarnaan
pal <- colorBin("YlOrRd",
domain = col, # variabel yang ingin dipetakan
bins = bins )Code Complete:
# Plot Peta:
Bantul <- leaflet(kpdt_bantul) %>%
# Base groups
addTiles(group = "OSM (default)") %>%
addProviderTiles(providers$Stamen.Toner, group = "Toner") %>%
addProviderTiles(providers$Stamen.TonerLite, group = "Toner Lite") %>%
addProviderTiles(provider = "OpenTopoMap") %>%
# Layer Polygon
addPolygons(fillColor = pal(col), # memberi warna pada poligon sesuai dengan nilai kpdt_pddk
weight = 2,
opacity = 1,
color = "white",
dashArray = "3",
fillOpacity = 0.7,
highlightOptions = highlightOptions(weight = 5,
color = "#666",
dashArray = "",
fillOpacity = 0.7,
bringToFront = TRUE),
label = labels,
labelOptions = labelOptions(
style = list("font-weight" = "normal", padding = "3px 8px"),textsize = "15px")) %>%
# Legenda peta
addLegend("bottomright",
pal = pal,
values = ~col,
title = "Kepadatan Penduduk Kabupaten Bantul",
labFormat = labelFormat(digits = 2),
opacity = 1) %>%
# Layers control
addLayersControl(
baseGroups = c("OSM (default)", "Toner", "Toner Lite", "Open Topo Map"),
options = layersControlOptions(collapsed = TRUE)
)
BantulSecara umum, data spasial dapat direpresentasikan baik sebagai peta referensi maupun peta tematik. Sementara peta referensi menekankan lokasi objek di dunia, peta tematik menunjukkan variasi spasial dari distribusi tertentu. Peta kepadatan penduduk yang telah kita buat merupakan salah satu jenis peta tematik yang paling sering digunakan dalam dunia geospasial.
Selain fitur sederhana sf, sebenarnya ada metodologi
lain untuk menyimpan model fitur geografis ke dalam R. Jika Anda pernah
melakukan penelitian geospasial di R, Anda mungkin juga familiar dengan
penggunaan paket sp. Sebenarnya, sp adalah
paket yang sangat baik dikembangkan sejak tahun 2005 yang praktis
mendukung hampir setiap analisis GIS di R, bahkan sampai sekarang.
Masalah utama dari sp adalah kompatibilitasnya yang
rendah dengan struktur data frame R. sf dibangun untuk
mengisi kesenjangan tersebut. Dirilis pada tahun 2016, sf
menggunakan standar OGC (Open Geospatial Consortium) & ISO dalam
mencatat dan mengatur data spasial dengan fitur
sederhana.
Kerugian dari sf adalah, karena relatif baru, beberapa
paket spasial mungkin belum mendukung objek sf. Untungnya,
kita masih dapat mengonversi objek sf ke kelas spasial yang
digunakan dalam sp:
#> [1] "SpatialPolygonsDataFrame"
#> attr(,"package")
#> [1] "sp"
Objek spasial dapat dikonversi kembali ke objek sf
dengan cara yang sama atau dengan menggunakan fungsi
st_as_sf() dari sf:
#> [1] "sf" "data.frame"
Pada kasus ini kita menggunakan data yang diambil dari GADMTools
idn dengan melakukan filter Jakarta Raya saja tanpa
mengambil kepulauan seribu.
dki <- idn %>%
filter(NAME_1 == "Jakarta Raya" & NAME_2 != "Kepulauan Seribu") # remove kelupauan seribu
plot(dki$geometry)#> Geometry set for 43 features
#> Geometry type: MULTIPOLYGON
#> Dimension: XY
#> Bounding box: xmin: 106.6862 ymin: -6.370783 xmax: 106.9728 ymax: -6.089036
#> Geodetic CRS: WGS 84
#> First 5 geometries:
Mirip dengan paket sf , terra juga
menyediakan plot() metode untuk kelasnya sendiri. Raster dapat dibuat
dari awal menggunakan rast().
#> class : SpatRaster
#> dimensions : 3333, 3333, 1 (nrow, ncol, nlyr)
#> resolution : 0.0000750075, 0.0000750075 (x, y)
#> extent : 116.25, 116.5, -8.5, -8.25 (xmin, xmax, ymin, ymax)
#> coord. ref. : lon/lat WGS 84 (CRS84) (OGC:CRS84)
#> source : DEMNAS_Rinjani.tif
#> name : DEMNAS_Rinjani
Bagaimana kita memberikan koordinat pada data yang belum terdefinisasi (seperti data raster)?
R menggunakan PROJ.4 untuk melakukan transformasi CRS (Coordinate Reference System). Namun, dalam beberapa kasus, PROJ.4 mungkin tidak cukup, dan Anda perlu menggunakan kode EPSG. Kode EPSG ini digunakan untuk mendefinisikan proyeksi, datum, dan sejumlah parameter lain yang menggambarkan di mana pusat peta tersebut berada.
Contoh:
#> class : SpatRaster
#> dimensions : 3345, 3331, 1 (nrow, ncol, nlyr)
#> resolution : 8.275699, 8.275699 (x, y)
#> extent : 417399.5, 444965.8, 9060347, 9088030 (xmin, xmax, ymin, ymax)
#> coord. ref. : WGS 84 / UTM zone 50S (EPSG:32750)
#> source(s) : memory
#> name : DEMNAS_Rinjani
#> min value : -3.580017
#> max value : 3635.024170
[Optional] Menghitung luasan area
#> 645545871 [m^2]
#> [1] 8.275699 8.275699
SUMMARY
Mengapa penting melakukan define koordinat pada data spasial?
Pentingnya mendefinisikan koordinat pada data spasial adalah sebagai berikut:
Presisi Lokasi: Mendefinisikan koordinat membantu dalam menentukan lokasi yang tepat dari objek geografis. Ini memungkinkan kita untuk merujuk pada lokasi geografis secara akurat dan menjaga presisi data.
Analisis Spatial: Untuk melakukan analisis spasial, seperti perhitungan jarak, luas area, dan sebagainya, kita perlu menggunakan sistem koordinat yang konsisten. Tanpa sistem koordinat yang terdefinisi, analisis ini akan tidak mungkin dilakukan.
Pemetaan dan Visualisasi: Mendefinisikan koordinat memungkinkan kita untuk membuat peta yang akurat dan visualisasi data geografis dengan benar. Ini membantu dalam pemahaman yang lebih baik tentang pola geografis dan distribusi data.
Kompatibilitas Data: Dalam proyek yang melibatkan beberapa set data geografis yang berbeda, mendefinisikan koordinat adalah langkah penting untuk memastikan bahwa data-data tersebut dapat digabungkan dan diintegrasikan dengan benar.
Pemahaman Terhadap Referensi Geodetik: Mendefinisikan koordinat juga berarti memahami referensi geodetik yang digunakan dalam data tersebut. Ini penting ketika berhubungan dengan data-data geodetik yang diukur di berbagai lokasi di seluruh dunia.
Kepatuhan Standar: Banyak organisasi dan proyek yang memiliki standar spesifik terkait dengan sistem koordinat yang harus digunakan. Mendefinisikan koordinat adalah cara untuk memastikan kepatuhan terhadap standar-standar tersebut.
Dengan mendefinisikan koordinat, kita dapat menggambarkan lokasi objek secara konsisten, melakukan analisis spasial, dan mengintegrasikan data geografis dengan lebih baik, yang semuanya penting dalam berbagai bidang seperti geografi, geologi, ekologi, pemetaan, dan banyak lagi.
Untuk saat ini, cukup mengetahui:
Bahwa sistem koordinat merupakan komponen kunci dari objek geografis
Mengetahui di CRS mana data Anda berada, dan apakah data tersebut berada dalam geografis (lon/lat) atau proyeksi (biasanya meter), adalah hal yang penting dan memiliki konsekuensi terhadap cara R menangani operasi spasial dan geometri.
CRS sf objek dapat dikueri dengan fungsi
st_crs(), CRS terra objek dapat dikueri dengan
fungsi crs()
Source:Koordinat Refernsi